<!DOCTYPE html>
<html lang="en">
<head>
        <meta charset="utf-8" />
        <title>Part-1-D-preparation-for-reading</title>
        <link rel="stylesheet" href="/theme/css/main.css" />

        <!--[if IE]>
            <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
        <![endif]-->
</head>

<body id="index" class="home">
        <header id="banner" class="body">
                <h1><a href="/">PythonTutorials </a></h1>
                <nav><ul>
                    <li><a href="/category/cpp.html">cpp</a></li>
                    <li class="active"><a href="/category/python.html">python</a></li>
                </ul>
                </nav>
        </header><!-- /#banner -->
<section id="content" class="body">
  <article>
    <header>
      <h1 class="entry-title">
        <a href="/Part-1-D-preparation-for-reading.html" rel="bookmark"
           title="Permalink to Part-1-D-preparation-for-reading">Part-1-D-preparation-for-reading</a></h1>
    </header>

    <div class="entry-content">
<footer class="post-info">
        <span>Mon 06 April 2020</span>
<span>| tags: <a href="/tag/python.html">python</a><a href="/tag/progarmming.html">progarmming</a><a href="/tag/excel.html">Excel</a></span>
</footer><!-- /.post-info -->      <h1>开始阅读前的一些准备</h1>
<h2>内容概要</h2>
<p>关于 Python 编程的第一部分总计 7 章，主要内容概括为：</p>
<blockquote>
<ol>
<li>以布尔值为入口开始理解程序本质</li>
<li>了解值的分类和运算方法</li>
<li>简要了解流程控制的原理</li>
<li>简要了解函数的基本构成</li>
<li>相对完整地了解字符串的操作</li>
<li>了解各种容器的基础操作</li>
<li>简要了解文件的读写操作</li>
</ol>
</blockquote>
<h2>阅读策略</h2>
<p>首先，不要试图一下子就全部搞懂。这不仅很难，<strong>在最初的时候也完全没必要</strong>。</p>
<p>因为这部分的知识结构中，充满了 “过早引用”。请在第一遍粗略完成第 1 部分中的 E1 ~ E7 之后，再去阅读《<a href="Part.1.F.deal-with-forward-references.md">如何从容应对 “过早引用”？</a>》。</p>
<p>其次，这一部分，注定要<strong>反复阅读若干遍</strong>。</p>
<p>在开始之前，要明确这一部分的阅读目标。</p>
<p>这一部分的目标，不是让你读完之后就可以开始写程序；也不是让你读完之后就对编程或者 Python 编程有了完整的了解，甚至不是让你真的学会什么…… 这一部分的目标，只是让你 “<strong>脱盲</strong>”。</p>
<p>不要以为脱盲是很容易的事情。你看，所有人出生的时候，都天然是 “文盲”；人们要上好多年的学，才能够真正 “脱盲” —— 仔细想想吧，小学毕业的时候，所有人就真的彻底脱盲了吗？</p>
<p>以中文脱盲为例，学字的同时，还要学习笔划；为了学更多的字，要学拼音，要学如何使用《新华字典》……</p>
<p>学会了一些基础字之后，要学更多的词，而后在练习了那么多造词造句之后，依然会经常用错…… 你看，脱盲，和阅读能力强之间距离很长呢；不仅如此，阅读能力强和写作能力强之间的距离更长……</p>
<p>反复阅读这一部分的结果是：</p>
<blockquote>
<ul>
<li>你对基本概念有了一定的了解</li>
<li>你开始有能力相对轻松地阅读部分官方文档</li>
<li>你可以读懂一些简单的代码</li>
</ul>
</blockquote>
<p>仅此而已。</p>
<h2>心理建设</h2>
<p>当我们开始学习一项新技能的时候，我们的大脑会不由自主地紧张。可这只不过是多年之间在学校里不断受挫的积累效应 —— 学校里别的地方不一定行，可有个地方特别行：给学生制造全方位、无死角、层层递进的挫败感。</p>
<p>可是，你要永远记住两个字：</p>
<blockquote>
<p>别怕！</p>
</blockquote>
<p>用四个字也行：</p>
<blockquote>
<p>啥也别怕！</p>
</blockquote>
<p>六个字也可以：</p>
<blockquote>
<p>没什么可怕的！</p>
</blockquote>
<p>我遇到最多的孱弱之语大抵是这样的：</p>
<blockquote>
<p>我一个文科生……</p>
</blockquote>
<p>哈哈，从某个层面望过去，其实吧，编程既不是文科也不是理科…… 它更像是 “手工课”。你越学就越清楚这个事实，它就好像是你做木工一样，学会使用一个工具，再学会使用另外一个工具，其实总共就没多少工具。然后，你更多做的是各种拼接的工作，至于能做出什么东西，最后完全靠你的想象力……</p>
<p>十来岁的孩子都可以学会的东西，你怕什么？</p>
<p><strong>别怕</strong>，无论说给自己，还是讲给别人，都是一样的，它可能是人生中最重要的鼓励词。</p>
<h2>关于这一部分内容中的代码</h2>
<p>所有的代码，都可以在选中代码单元格（Code Cell）之后，按快捷键 <code>⇧ ⏎</code> 或 <code>^ ⏎</code> 执行，查看结果。</p>
<p>少量执行结果太长的代码，其输出被设置成了 “Scrolled”，是可以通过触摸板或鼠标滑轮上下滑动的。</p>
<p>为了避免大量使用 <code>print()</code> 才能看到输出结果，在很多的代码单元格中，开头插入了以下代码：</p>
<div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">IPython.core.interactiveshell</span> <span class="kn">import</span> <span class="n">InteractiveShell</span>
<span class="n">InteractiveShell</span><span class="o">.</span><span class="n">ast_node_interactivity</span> <span class="o">=</span> <span class="s2">&quot;all&quot;</span>
</pre></div>


<p>你可以暂时忽略它们的意义和工作原理。注意：有时，你需要在执行第二次的时候，才能看到全部输出结果。</p>
<p>另外，有少量代码示例，为了让读者每次执行的时候看到不同的结果，使用了随机函数，为其中的变量赋值，比如：</p>
<div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">random</span>
<span class="n">r</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="n">randrange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1000</span><span class="p">)</span>
</pre></div>


<p>同样，你可以暂时忽略它们的意义和工作原理；只需要知道因为有它们在，所以每次执行那个单元格中的代码会有不同的结果就可以了。</p>
<p>如果你不是直接在网站上浏览这本 “书”、或者不是在阅读印刷版，而是在本地自己搭建 Jupyterlab 环境使用，那么请参阅附录《<a href="T-appendix.jupyter-installation-and-setup.md">Jupyterlab 的安装与配置</a>》。</p>
<blockquote>
<p><strong>注意</strong>：尤其需要仔细看看《<a href="T-appendix.jupyter-installation-and-setup.md">Jupyterlab 的安装与配置</a>》的《关于 Jupyter lab themes》这一小节 —— 否则，阅读体验会有很大差别。</p>
</blockquote>
<p>另外，如果你使用的是 <a href="https://nteract.io">nteract</a> 桌面版 App 浏览 <code>.ipynb</code> 文件，那么有些使用了 <code>input()</code> 函数的代码是无法在 nteract 中执行的。</p>
    </div><!-- /.entry-content -->

  </article>
</section>
        <section id="extras" class="body">
                <div class="blogroll">
                        <h2>blogroll</h2>
                        <ul>
                            <li><a href="http://getpelican.com/">Pelican</a></li>
                            <li><a href="http://python.org/">Python.org</a></li>
                            <li><a href="http://jinja.pocoo.org/">Jinja2</a></li>
                            <li><a href="#">You can modify those links in your config file</a></li>
                        </ul>
                </div><!-- /.blogroll -->
                <div class="social">
                        <h2>social</h2>
                        <ul>

                            <li><a href="#">You can add links in your config file</a></li>
                            <li><a href="#">Another social link</a></li>
                        </ul>
                </div><!-- /.social -->
        </section><!-- /#extras -->

        <footer id="contentinfo" class="body">
                <p>Powered by <a href="http://www.maxiaoan.com/">Maxiaoan</a></p>
        </footer><!-- /#contentinfo -->

</body>
</html>